// 执行某条 yarn test --testPathPattern=tab
module.exports = {
    testEnvironment: 'jsdom', // 需要用到window属性
    testEnvironmentOptions: {
        resources: 'usable',
    },
    // testRegex: 'tab.test.js', // 指定某一个测试文件， 与testMatch 互斥
    testMatch: [
        // 匹配的测试文件
        '<rootDir>/src/unitTest/**/?(*.)(spec|test).{js,jsx,mjs}',
        '<rootDir>/src/**/_tests_/**/?(*.)(spec|test).{js,jsx,mjs}',
        '<rootDir>/packages/**/?(*.)(spec|test).{js,jsx,mjs}',
        '**/__tests__/**/*.js?(x)',
        '**/?(*.)(spec|test).js?(x)',
    ],
    testPathIgnorePatterns: ['<rootDir>/node_modules/'],
    // setupFiles: ['<rootDir>/src/unitTest/setting/setup.js'],
    setupFilesAfterEnv: [],
    globals: {
        WPT: {
            os: {},
            allPage: {},
            userinfo: {},
            Util: {},
            getData: () => {},
        },
    },
    moduleFileExtensions: ['js', 'jsx'],
    transform: {
        '^.+\\.js$': 'babel-jest',
    },
    moduleDirectories: ['node_modules', 'bower_components'],
    moduleNameMapper: {
        '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
            '<rootDir>/__mocks__/fileMock.js',
        '\\.(css|less)$': 'identity-obj-proxy',
        '^components(.*)$': '<rootDir>/src/components$1',
        '^modules(.*)$': '<rootDir>/src/modules$1',
        '^@wpt(.*)$': '<rootDir>/src/@wpt$1',
        '^@packages(.*)$': '<rootDir>/packages$1',
        '^@shared(.*)$': '<rootDir>/src/shared$1',
        '^views(.*)$': '<rootDir>src/views$1',
        wptd: 'wpt-design',
        // '^publicPath(.*)$': '<rootDir>/src/main/publichPath.js',
    },
    coverageThreshold: {
        // 设置不同测试维度的覆盖率阈值
        global: {
            branches: 0, // 是否测试用例的每个if代码块都执行了
            functions: 0, // 测试用例的每一个函数都调用了
            lines: 0, // 测试用例的每一行都执行了
            statements: 0, // 是否测试用例的每个语句都执行了
        },
        // './src/components/': {
        //     branches: 40,
        //     statements: 40
        // },
    },
};
